# -*- coding:utf-8 -*-

# 第一行是指定py文件的编码格式
# JinJa2模板引擎,是Flask的内置模板语言有点像spring-boot的thymeleaf

from flask import Flask, render_template

# Flask 构造有一个位置参数(__name__就是传递位置参数)和多个关键字参数，看源码或者文档
# static_folder 为模板静态文件(js/css..)文件夹,默认static
# template_folder 为模板文件(html)文件夹，默认templates
app = Flask(__name__)

@app.route('/')
def index():
    name = 'tom'

    ages = [1,2,3,4,5]

    my_dict = {'addr':'bejing', 'tel':'12346'}
    
    # 第一个参数之后可以传递键值对值，在html中通过 {{varName}} 获取
    # 使用 {# xxx #} 代码注释，变量可以是任意python类型或对象
    # 如 {{user.age}} {{mdict['key']}} {{mlist[0]}}
    # html中使用 {% 代码块 %} 有点像jsp里面的写法
    return render_template('index.html', username=name, ages=ages, my_dict=my_dict)


# 使用sublime，配置default_extend_env使用python虚拟环境后，f5运行启动flask(app.run)
# flask运行是子进程模式，关闭f5运行的窗口，并不会自动停止，需要杀掉子进程
# windows: 
#	netstat -ano | findstr ":5000" | findstr "LISTEN"
#	taskkill /PID pid1,pid2 /F 
if __name__ == '__main__':
    # run关键字参数 host port debug load_dotenv=True(加载flask环境配置文件.env .flaskenv)
    # options 其他参数，将传递给werkzeug服务器
    app.run(port=5000, debug=True) # port默认5000
	